Faker::Alphanumeric.alphanumeric determinism fix #2996
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation / Background
This Pull Request has been created because the
Faker::Alphanumeric.alphanumeric
generator is not deterministic when usingmin_alpha
and/ormin_numeric
.Additional information
The generator is not currently deterministic when setting a custom
Faker::Config.random
due to the usage of the standardshuffle
array method.Unfortunately, this can't be caught by the tests in test/test_determinism.rb because the default keyword arguments do not trigger the non-determinism due to the early return when both
min_alpha
andmin_numeric
are0
.I have added a test to the
Faker::Alphanumeric
test file for this case, but I'm happy to [re]move it if preferred.Checklist
Before submitting the PR make sure the following are checked:
[Fix #issue-number]
If you're proposing a new generator or locale: